package org.example.spark.accumulator

import org.apache.spark.{SparkConf, SparkContext}

/**
 * @ClassName Accumulator.java
 * @author ylr
 * @version 1.0.0
 * @Description TODO
 * @createTime 2022年05月10日 14:11:00
 */
object Accumulator {
  def main(args: Array[String]): Unit = {
    val sparkConf = new SparkConf().setMaster("local[*]").setAppName("spark")
    val sc = new SparkContext(sparkConf)
    val rdd2 = sc.makeRDD(List(1, 3, 5, 2, 4, 6))
    // 声明累加器
    val sum = sc.longAccumulator("sum")
    rdd2.foreach(num=>{
      //使用累加器
      sum.add(num)
    })

    println("sum: "+sum.value)

    sc.stop()
  }
}
